package com.tuanzi.loan.business.service.receipt.user;

import java.util.List;

import org.springframework.data.domain.Page;

import com.tuanzi.loan.business.entity.receipt.user.ReceiptSystemUser;
import com.tuanzi.loan.core.service.BaseAuditService;
import com.tuanzi.loan.core.vo.PageSearcher;
import com.tuanzi.loan.vo.request.receipt.user.ReceiptSystemUserSearchRequest;
import com.tuanzi.loan.vo.response.receipt.user.ReceiptSystemUserSearchResponse;

/**
 * @author Ray 2017/09/21
 */
public interface ReceiptSystemUserService extends BaseAuditService<ReceiptSystemUser, String> {

	Page<ReceiptSystemUserSearchResponse> list(PageSearcher<ReceiptSystemUserSearchRequest> pageSearcher);

	List<ReceiptSystemUser> disable(List<ReceiptSystemUser> receiptSystemUsers);

	ReceiptSystemUser disable(ReceiptSystemUser receiptSystemUser);

	List<ReceiptSystemUser> enable(List<ReceiptSystemUser> receiptSystemUsers);

	ReceiptSystemUser enable(ReceiptSystemUser receiptSystemUser);

	void unlock(String id);

	void approve(String id);

	void reject(String id);

	List<ReceiptSystemUser> findByParentIsNull();

	void resetReceiptPassword(String userId);
}
